package cn.alpha.intell.rbtlib.utils;

import android.content.Context;

import com.umeng.analytics.MobclickAgent;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by zhangxiliang on 2016/12/9.
 */
public class UmengAnalytics {

    /***
     * 针对页面,页面可能是Activity 也可能是Fragment或View
     *
     * @param s
     */
    public static void onPageStart(String s) {
        MobclickAgent.onPageStart(s);

    }

    /**
     * 针对页面,页面可能是Activity 也可能是Fragment或View
     *
     * @param s
     */
    public static void onPageEnd(String s) {
        MobclickAgent.onPageEnd(s);
    }

    /**
     * session的统计
     *
     * @param context
     */
    public static void onResume(Context context) {
        MobclickAgent.onResume(context);
    }

    /**
     * session的统计
     *
     * @param context
     */
    public static void onPause(Context context) {
        MobclickAgent.onPause(context);
    }


    /**
     * 统计发生次数
     *
     * @param context
     * @param eventId
     */
    public static void onEvent(Context context, String eventId) {
        MobclickAgent.onEvent(context, eventId);
    }


    /**
     * 统计点击行为各属性被触发的次数
     *
     * @param context
     * @param eventId
     * @param map
     */
    public static void onEvent(Context context, String eventId, HashMap map) {
        MobclickAgent.onEvent(context, eventId, map);
    }


    public static void config(Context context) {
        config(context, UmengKey.getUmengKeyByPackageName(context));
    }


    public static void config(Context context, String appkey) {
        config(context, appkey, "ALPHA");
    }

    public static void config(Context context, String appkey, String channelId) {

        config(context, appkey, channelId, MobclickAgent.EScenarioType.E_UM_NORMAL);
    }


    public static void config(Context context, String appkey, String channelId, MobclickAgent.EScenarioType eType) {
        config(context, appkey, channelId, MobclickAgent.EScenarioType.E_UM_NORMAL, true);

    }


    public static void config(Context context, String appkey, String channelId, MobclickAgent.EScenarioType eType, Boolean isCrashEnable) {

        MobclickAgent.UMAnalyticsConfig config = new MobclickAgent.UMAnalyticsConfig(context, appkey, channelId,
                MobclickAgent.EScenarioType.E_UM_NORMAL);
        MobclickAgent.setCatchUncaughtExceptions(true);
        MobclickAgent.startWithConfigure(config);


    }

    public static void onEventValue(Context context, String id, Map<String, String> m, int du) {
        MobclickAgent.onEventValue(context,id,m,du);
    }


}
